package cz.muni.fi.pa165.sme.api.to;

import java.util.Date;
import java.util.List;

import cz.muni.fi.pa165.sme.api.enumeration.SexTO;
import cz.muni.fi.pa165.sme.api.enumeration.UserRoleTO;

/**
 * @author forman
 */
public class UserTO {

	private Long id;
	private SexTO sexTO;
	private String firstName;
	private String secondName;
	private Date dateOfBirth;
	private Float weight;
	private Integer height;
	private List<SportActivityRecordTO> sportActivityRecords;
	private String login;
	private String password;
	private UserRoleTO roleTO;

	public List<SportActivityRecordTO> getSportActivityRecords() {
		return sportActivityRecords;
	}

	public void setSportActivityRecords(final List<SportActivityRecordTO> sportActivityRecords) {
		this.sportActivityRecords = sportActivityRecords;
	}

	public Long getId() {
		return id;
	}

	public void setId(final Long id) {
		this.id = id;
	}

	public SexTO getSexTO() {
		return sexTO;
	}

	public void setSexTO(final SexTO sexTO) {
		this.sexTO = sexTO;
	}

	public String getFirstName() {
		return firstName;
	}

	public void setFirstName(final String firstName) {
		this.firstName = firstName;
	}

	public String getSecondName() {
		return secondName;
	}

	public void setSecondName(final String secondName) {
		this.secondName = secondName;
	}

	public Date getDateOfBirth() {
		return dateOfBirth;
	}

	public void setDateOfBirth(final Date dateOfBirth) {
		this.dateOfBirth = dateOfBirth;
	}

	public Float getWeight() {
		return weight;
	}

	public void setWeight(final Float weight) {
		this.weight = weight;
	}

	public Integer getHeight() {
		return height;
	}

	public void setHeight(final Integer height) {
		this.height = height;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(final String login) {
		this.login = login;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(final String password) {
		this.password = password;
	}

	public UserRoleTO getRoleTO() {
		return roleTO;
	}

	public void setRoleTO(final UserRoleTO roleTO) {
		this.roleTO = roleTO;
	}

	@Override
	public boolean equals(final Object o) {
		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;

		final UserTO userTO = (UserTO) o;

		return !(id != null ? !id.equals(userTO.id) : userTO.id != null);

	}

	@Override
	public int hashCode() {
		return id != null ? id.hashCode() : 0;
	}
}
